
#include "menuobject.h"

class menu {
public:
	menu() {
		set = this;
	}

	~menu() {
	}

	virtual void update() {
		for(int i = 0; i < sizeof(objects); i++) {
			if(objects[i].enabled) {
				objects[i].update();
				if(objects[i].clicked) {
					onClick(i);
				}
			}
		}
	}

	virtual void render() {
		for(int i = 0; i < sizeof(objects); i++) {
			if(objects[i].visible) {
				objects[i].render();
			}
		}
	}

	virtual void onClick(int id) {
	}

	void setSize(const int i) {
		objects = new menuobject[i];

	}

	void add(int i, menuobject obj) {
		objects[i] = obj;
	}

	void setMenu(menu m) {
		set = &m;
	}

	menu* getNext() {
		return set;
	}
protected:
private:
	menuobject* objects;
	menu* set;
};